package com.ctshk.rpc.booking.dto.outside;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 统一供应商预订单
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-03-09
 */
@Data
@ApiModel(value="SupplierOrderOutsidePageDTO对象", description="供应商团队预订分页DTO")
public class SupplierOrderOutsidePageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "订单类型")
    private Integer orderType;

    @ApiModelProperty(value = "所属团期ID(团号)")
    private Long scheduleId;

    @ApiModelProperty(value = "订单号")
    private String orderNumber;

    @ApiModelProperty(value = "审核状态")
    private Integer checkStatus;

    @ApiModelProperty(value = "供应商ID")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "业务类型(1 默认（自己的类型）,2 固定套票,3 旅行团)")
    private Integer businessType;

    @ApiModelProperty(value = "预订类型ID(主数据)")
    private Long reserveTypeId;

    @ApiModelProperty(value = "预订类型名称(主数据)")
    private String reserveTypeName;

    @ApiModelProperty(value = "销售方式,枚举SalesMethod")
    private Integer saleType;

    @ApiModelProperty(value = "产品类型(1 人工录入,2 API产品)")
    private Integer productType;

    @ApiModelProperty(value = "资源所属部门ID")
    private Long departmentId;

    @ApiModelProperty(value = "资源所属部门")
    private String department;

    @ApiModelProperty(value = "销售单号(通用)")
    private String saleNumber;

    @ApiModelProperty(value = "产品编号(通用)")
    private String productNumber;

    @ApiModelProperty(value = "产品名称(通用)")
    private String productName;

    @ApiModelProperty(value = "总金额")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "供应商期望付款时间")
    private LocalDateTime expectedPayTime;

    @ApiModelProperty(value = "供应商订单号")
    private String supplierOrderNumber;

    @ApiModelProperty(value = "预订状态")
    private Integer reserveStatus;

    @ApiModelProperty(value = "对账状态")
    private Integer verifyStatus;

    @ApiModelProperty(value = "付款状态")
    private Integer payStatus;

    @ApiModelProperty(value = "提交结算状态")
    private Integer submitSettleStatus;

    @ApiModelProperty(value = "使用资源编号")
    private String resourceNumber;

    @ApiModelProperty(value = "使用资源产品名称")
    private String resourceProductName;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "创建人Id")
    private Long createId;

    @ApiModelProperty(value = "创建人(发起人)")
    private String createUser;

    @ApiModelProperty(value = "订单发起时间")
    private LocalDateTime gmtCreate;
}
